package org.jeecg.modules.xj.h5.controller;

import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
 
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import org.jeecg.modules.xj.utils.QrcodeUtils;

public class QrcodeTest {
	
    public static void main(String[] args) {
        try {
            // 名片格式
            // BEGIN:VCARD\nFN:"+name+"\nORG:"+company+"\nTITLE:"+title+"\nTEL:"+tel+"\nADR:"+address+"\nEMAIL:"+email+"\nEND:VCARD
			
            // 文本格式
			
            // WIFI格式
            // "WIFI:S:"+name+";T:"+type+";P:"+password+";"
			
            // 图片格式
			
            // 网址
            // http://或https://开头
			
            // 短信格式
            // "SMSTO:"+$("#tel").val()+":"+$("#sms").val();
			
            String content = "BEGIN:VCARD\nFN:"
                    +"谢丹丹"+"\nORG:"
                    +"111222"+"\nTITLE:"
                    +"13699990000"+"\nTEL:"
                    +"222111"+"\nADR:"
                    +"333444"+"\nEMAIL:"
                    +"444333"+"\nEND:VCARD"; //二维码内容
            int width = 200; // 图像宽度
            int height = 200; // 图像高度
            String format = "jpeg";// 图像类型
	        
            Path qrcodePath = new File("E:\\jeecg-backup\\qrcode."+format).toPath();
            // 二维码原图片
            BitMatrix qrcodeBitMatrix = QrcodeUtils.qrcodeMasterMap(content, width, height, format, qrcodePath);
	        
            // 根据二维码原图片生成带logo的二维码
            QrcodeUtils.logoQrcode(qrcodeBitMatrix, format, new File("E:\\jeecg-backup\\logo.jpg"), new File("E:\\jeecg-backup\\image\\qrcodelogo."+format));
	        
            System.out.println("---------------------------------分割线---------------------------------------");
            System.out.println("---------------------------------分割线---------------------------------------");
	        
            // 条形码,指定输出路径, File.separator可以解决跨平台
            // 条形码只能存放数字
            content = "111222333444";
            width = 400; // 图像宽度
            height = 150; // 图像高度
            Path barcodePath = new File("E:\\jeecg-backup\\image\\barcode."+format).toPath();
            BitMatrix barcodeBitMatrix = QrcodeUtils.barcode(content, width, height, format, barcodePath);
	        
            // 根据条形码原图片生成带logo的条形码
            QrcodeUtils.logoQrcode(barcodeBitMatrix, format, new File("E:\\jeecg-backup\\logo.jpg"), new File("D:\\image\\barcodelogo."+format));
	        
        } catch (WriterException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}